/*
    Dominate 3D - A cube-based game of life

    Copyright (C) 2007, Craig H. Miller (kidmosey@gmail.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __PLAYER_H__
#define __PLAYER_H__

#include <string>

#include "color.h"

class Player
{
public:
    Player();

    Player(const std::string &name, const Color &color);
    Player(const Color &color);
    Player(const std::string &name);

    ~Player();

    void ApplyInverse() const;

    void Apply() const;

    void SetName(const std::string &name);

    void SetID(int id) { m_id = id; }
    int GetID() const
    {
        return m_id;
    }

    const std::string &GetName() const;

    int GetScore() const;

    Color c;
    int   m_taken, m_total, m_timerScore;
    int   m_numTurns;
    float m_totalTime;

    static Player nullPlayer;

private:
    int m_id;
    std::string m_name;
};

#endif
